#ifndef _RECFILE_H_
#define _RECFILE_H_

#include "../includes.h"



#define 	DEF_Err_Debug  errmsg("Er F=%s N=%d\r\n",__FILE__,__LINE__);
extern void errmsg( const char *format, ... );


extern U32 AH_FLASH_ReadData( U32 id, U32 add, U08 *buf, U32 size, U32 back_add, U32 stat );
extern U32 AH_FLASH_WriteData( U32 id,U32 add, U08 *buf, U32 size, U32 back_add, U32 stat, U32 mode );

extern U32 AH_FRAM_WriteData( U32 id, U32 add, U08 *buf, U32 size, U32 back_add, U32 stat );
extern U32 AH_FRAM_ReadData( U32 id, U32 add, U08 *buf, U32 size, U32 back_add, U32 stat );

extern U32 APP_Create_RecFile( U32 id, U32 rp, U32 mode );		//创建记录文件
extern U32 APP_Open_RecFile( U32 id );							//打开记录文件

extern U32 APP_Read_RecFile_NotServer( U32 id, U32 rp, U32 sn, U08 *buf );
																//读取一条记录  顺序读取第SN条未上传的记录
extern U32 APP_Read_RecFile_WriteNot( U32 id, U32 sn, U08 *buf );
																//读取一条记录  倒数读取第SN条写入的记录
extern U32 APP_Read_RecFile_PHY( U32 id, U32 sn, U08 *buf );	//读取一条记录  读取第SN条记录,按编码位置读取

extern U32 APP_Get_RecFileNum( U32 id, U32 rp, U32 *num );		//获取未上传的记录数						
extern U32 APP_Get_RecFileNO( U32 id, U32 *phyno, U32 *no );	//获取最后一条记录流水号

extern U32 APP_Write_RecFile( U32 id, U08 *buf );				//追加写入一条记录
extern U32 APP_Delete_RecFile( U32 id, U32 rp, U08 *buf, U32 recnum );
																//删除多条记录
extern U32 APP_Get_RecFileStat( U32 id, U32 *sta );				//获取记录文件状态

extern U32 APP_Set_RecReadp( U32 id, U32 outrp, U32 inrp );		//记录多指针处理


extern U32 APP_Read_Useful_RecFile_NotServer( U32 id, U32 rp, U32 sn, U08 *buf );
#endif